<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:ser="http://schemas.microsoft.com/2003/10/Serialization/" xmlns:tns="http://schemas.datacontract.org/2004/07/Common" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/Common" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import schemaLocation="http://localhost:46881/WCFUsers.svc?xsd=xsd3" namespace="http://schemas.datacontract.org/2004/07/System.Data.Objects.DataClasses" />
  <xs:import schemaLocation="http://localhost:46881/WCFUsers.svc?xsd=xsd1" namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
  <xs:complexType name="User">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q1="http://schemas.datacontract.org/2004/07/System.Data.Objects.DataClasses" base="q1:EntityObject">
        <xs:sequence>
          <xs:element minOccurs="0" name="Address" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="Comments" nillable="true" type="tns:ArrayOfComment" />
          <xs:element minOccurs="0" name="Country" nillable="true" type="tns:Country" />
          <xs:element minOccurs="0" name="CountryReference" nillable="true" type="q1:EntityReferenceOfCountryKmbgGhhj" />
          <xs:element minOccurs="0" name="Country_FK" type="xs:int" />
          <xs:element minOccurs="0" name="Email" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="Firstname" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="Lastname" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="MobileNumber" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="Orders" nillable="true" type="tns:ArrayOfOrder" />
          <xs:element minOccurs="0" name="Password" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="Ratings" nillable="true" type="tns:ArrayOfRating" />
          <xs:element minOccurs="0" name="Roles" nillable="true" type="tns:ArrayOfRole" />
          <xs:element minOccurs="0" name="ShoppingCarts" nillable="true" type="tns:ArrayOfShoppingCart" />
          <xs:element minOccurs="0" name="Town" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="UserFaults" nillable="true" type="tns:ArrayOfUserFault" />
          <xs:element minOccurs="0" name="Username" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="User" nillable="true" type="tns:User" />
  <xs:complexType name="ArrayOfComment">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Comment" nillable="true" type="tns:Comment" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfComment" nillable="true" type="tns:ArrayOfComment" />
  <xs:complexType name="Comment">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q2="http://schemas.datacontract.org/2004/07/System.Data.Objects.DataClasses" base="q2:EntityObject">
        <xs:sequence>
          <xs:element minOccurs="0" name="Comment1" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="ID" type="xs:int" />
          <xs:element minOccurs="0" name="Product" nillable="true" type="tns:Product" />
          <xs:element minOccurs="0" name="ProductReference" nillable="true" type="q2:EntityReferenceOfProductKmbgGhhj" />
          <xs:element minOccurs="0" name="Product_FK" type="xs:int" />
          <xs:element minOccurs="0" name="User" nillable="true" type="tns:User" />
          <xs:element minOccurs="0" name="UserReference" nillable="true" type="q2:EntityReferenceOfUserKmbgGhhj" />
          <xs:element minOccurs="0" name="Username_FK" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="Comment" nillable="true" type="tns:Comment" />
  <xs:complexType name="Product">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q3="http://schemas.datacontract.org/2004/07/System.Data.Objects.DataClasses" base="q3:EntityObject">
        <xs:sequence>
          <xs:element minOccurs="0" name="Category" nillable="true" type="tns:Category" />
          <xs:element minOccurs="0" name="CategoryReference" nillable="true" type="q3:EntityReferenceOfCategoryKmbgGhhj" />
          <xs:element minOccurs="0" name="Category_FK" type="xs:int" />
          <xs:element minOccurs="0" name="Comments" nillable="true" type="tns:ArrayOfComment" />
          <xs:element minOccurs="0" name="DateListed" type="xs:dateTime" />
          <xs:element minOccurs="0" name="Features" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="ID" type="xs:int" />
          <xs:element minOccurs="0" name="Image" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="Price" type="xs:decimal" />
          <xs:element minOccurs="0" name="Ratings" nillable="true" type="tns:ArrayOfRating" />
          <xs:element minOccurs="0" name="ShoppingCarts" nillable="true" type="tns:ArrayOfShoppingCart" />
          <xs:element minOccurs="0" name="Stock" type="xs:int" />
          <xs:element minOccurs="0" name="UserFaults" nillable="true" type="tns:ArrayOfUserFault" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="Product" nillable="true" type="tns:Product" />
  <xs:complexType name="Category">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q4="http://schemas.datacontract.org/2004/07/System.Data.Objects.DataClasses" base="q4:EntityObject">
        <xs:sequence>
          <xs:element minOccurs="0" name="ID" type="xs:int" />
          <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="Products" nillable="true" type="tns:ArrayOfProduct" />
          <xs:element minOccurs="0" name="UserFaults" nillable="true" type="tns:ArrayOfUserFault" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="Category" nillable="true" type="tns:Category" />
  <xs:complexType name="ArrayOfProduct">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Product" nillable="true" type="tns:Product" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfProduct" nillable="true" type="tns:ArrayOfProduct" />
  <xs:complexType name="ArrayOfUserFault">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="UserFault" nillable="true" type="tns:UserFault" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfUserFault" nillable="true" type="tns:ArrayOfUserFault" />
  <xs:complexType name="UserFault">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q5="http://schemas.datacontract.org/2004/07/System.Data.Objects.DataClasses" base="q5:EntityObject">
        <xs:sequence>
          <xs:element minOccurs="0" name="Category" nillable="true" type="tns:Category" />
          <xs:element minOccurs="0" name="CategoryReference" nillable="true" type="q5:EntityReferenceOfCategoryKmbgGhhj" />
          <xs:element minOccurs="0" name="Category_FK" nillable="true" type="xs:int" />
          <xs:element minOccurs="0" name="Date" type="xs:dateTime" />
          <xs:element minOccurs="0" name="Details" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="Fault" nillable="true" type="tns:Fault" />
          <xs:element minOccurs="0" name="FaultID" type="xs:int" />
          <xs:element minOccurs="0" name="FaultReference" nillable="true" type="q5:EntityReferenceOfFaultKmbgGhhj" />
          <xs:element minOccurs="0" name="ID" type="xs:int" />
          <xs:element minOccurs="0" name="Product" nillable="true" type="tns:Product" />
          <xs:element minOccurs="0" name="ProductReference" nillable="true" type="q5:EntityReferenceOfProductKmbgGhhj" />
          <xs:element minOccurs="0" name="Product_FK" type="xs:int" />
          <xs:element minOccurs="0" name="Status_FK" type="xs:int" />
          <xs:element minOccurs="0" name="User" nillable="true" type="tns:User" />
          <xs:element minOccurs="0" name="UserReference" nillable="true" type="q5:EntityReferenceOfUserKmbgGhhj" />
          <xs:element minOccurs="0" name="Username_FK" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="UserFault" nillable="true" type="tns:UserFault" />
  <xs:complexType name="Fault">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q6="http://schemas.datacontract.org/2004/07/System.Data.Objects.DataClasses" base="q6:EntityObject">
        <xs:sequence>
          <xs:element minOccurs="0" name="Description" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="ID" type="xs:int" />
          <xs:element minOccurs="0" name="Status" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="UserFaults" nillable="true" type="tns:ArrayOfUserFault" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="Fault" nillable="true" type="tns:Fault" />
  <xs:complexType name="ArrayOfRating">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Rating" nillable="true" type="tns:Rating" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfRating" nillable="true" type="tns:ArrayOfRating" />
  <xs:complexType name="Rating">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q7="http://schemas.datacontract.org/2004/07/System.Data.Objects.DataClasses" base="q7:EntityObject">
        <xs:sequence>
          <xs:element minOccurs="0" name="ID" type="xs:int" />
          <xs:element minOccurs="0" name="Product" nillable="true" type="tns:Product" />
          <xs:element minOccurs="0" name="ProductReference" nillable="true" type="q7:EntityReferenceOfProductKmbgGhhj" />
          <xs:element minOccurs="0" name="Product_FK" type="xs:int" />
          <xs:element minOccurs="0" name="Rating1" type="xs:decimal" />
          <xs:element minOccurs="0" name="User" nillable="true" type="tns:User" />
          <xs:element minOccurs="0" name="UserReference" nillable="true" type="q7:EntityReferenceOfUserKmbgGhhj" />
          <xs:element minOccurs="0" name="Username_FK" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="Rating" nillable="true" type="tns:Rating" />
  <xs:complexType name="ArrayOfShoppingCart">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ShoppingCart" nillable="true" type="tns:ShoppingCart" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfShoppingCart" nillable="true" type="tns:ArrayOfShoppingCart" />
  <xs:complexType name="ShoppingCart">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q8="http://schemas.datacontract.org/2004/07/System.Data.Objects.DataClasses" base="q8:EntityObject">
        <xs:sequence>
          <xs:element minOccurs="0" name="ID" type="xs:int" />
          <xs:element minOccurs="0" name="Product" nillable="true" type="tns:Product" />
          <xs:element minOccurs="0" name="ProductReference" nillable="true" type="q8:EntityReferenceOfProductKmbgGhhj" />
          <xs:element minOccurs="0" name="Product_FK" type="xs:int" />
          <xs:element minOccurs="0" name="Quantity" type="xs:int" />
          <xs:element minOccurs="0" name="User" nillable="true" type="tns:User" />
          <xs:element minOccurs="0" name="UserReference" nillable="true" type="q8:EntityReferenceOfUserKmbgGhhj" />
          <xs:element minOccurs="0" name="Username_FK" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="ShoppingCart" nillable="true" type="tns:ShoppingCart" />
  <xs:complexType name="Country">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q9="http://schemas.datacontract.org/2004/07/System.Data.Objects.DataClasses" base="q9:EntityObject">
        <xs:sequence>
          <xs:element minOccurs="0" name="ID" type="xs:int" />
          <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="Users" nillable="true" type="tns:ArrayOfUser" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="Country" nillable="true" type="tns:Country" />
  <xs:complexType name="ArrayOfUser">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="User" nillable="true" type="tns:User" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfUser" nillable="true" type="tns:ArrayOfUser" />
  <xs:complexType name="ArrayOfOrder">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Order" nillable="true" type="tns:Order" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfOrder" nillable="true" type="tns:ArrayOfOrder" />
  <xs:complexType name="Order">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q10="http://schemas.datacontract.org/2004/07/System.Data.Objects.DataClasses" base="q10:EntityObject">
        <xs:sequence>
          <xs:element minOccurs="0" name="Date" type="xs:dateTime" />
          <xs:element minOccurs="0" name="ID" type="ser:guid" />
          <xs:element minOccurs="0" name="OrderDetails" nillable="true" type="tns:ArrayOfOrderDetail" />
          <xs:element minOccurs="0" name="User" nillable="true" type="tns:User" />
          <xs:element minOccurs="0" name="UserReference" nillable="true" type="q10:EntityReferenceOfUserKmbgGhhj" />
          <xs:element minOccurs="0" name="Username_FK" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="Order" nillable="true" type="tns:Order" />
  <xs:complexType name="ArrayOfOrderDetail">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="OrderDetail" nillable="true" type="tns:OrderDetail" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfOrderDetail" nillable="true" type="tns:ArrayOfOrderDetail" />
  <xs:complexType name="OrderDetail">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q11="http://schemas.datacontract.org/2004/07/System.Data.Objects.DataClasses" base="q11:EntityObject">
        <xs:sequence>
          <xs:element minOccurs="0" name="ID" type="xs:int" />
          <xs:element minOccurs="0" name="Order" nillable="true" type="tns:Order" />
          <xs:element minOccurs="0" name="OrderReference" nillable="true" type="q11:EntityReferenceOfOrderKmbgGhhj" />
          <xs:element minOccurs="0" name="Order_FK" type="ser:guid" />
          <xs:element minOccurs="0" name="Product_FK" type="xs:int" />
          <xs:element minOccurs="0" name="Quantity" type="xs:int" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="OrderDetail" nillable="true" type="tns:OrderDetail" />
  <xs:complexType name="ArrayOfRole">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Role" nillable="true" type="tns:Role" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfRole" nillable="true" type="tns:ArrayOfRole" />
  <xs:complexType name="Role">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q12="http://schemas.datacontract.org/2004/07/System.Data.Objects.DataClasses" base="q12:EntityObject">
        <xs:sequence>
          <xs:element minOccurs="0" name="Menus" nillable="true" type="tns:ArrayOfMenu" />
          <xs:element minOccurs="0" name="UserType" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="UserTypeID" type="xs:int" />
          <xs:element minOccurs="0" name="Users" nillable="true" type="tns:ArrayOfUser" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="Role" nillable="true" type="tns:Role" />
  <xs:complexType name="ArrayOfMenu">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Menu" nillable="true" type="tns:Menu" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfMenu" nillable="true" type="tns:ArrayOfMenu" />
  <xs:complexType name="Menu">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q13="http://schemas.datacontract.org/2004/07/System.Data.Objects.DataClasses" base="q13:EntityObject">
        <xs:sequence>
          <xs:element minOccurs="0" name="ID" type="xs:int" />
          <xs:element minOccurs="0" name="Roles" nillable="true" type="tns:ArrayOfRole" />
          <xs:element minOccurs="0" name="Title" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="Url" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="Menu" nillable="true" type="tns:Menu" />
  <xs:complexType name="ArrayOfCountry">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Country" nillable="true" type="tns:Country" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfCountry" nillable="true" type="tns:ArrayOfCountry" />
  <xs:complexType name="ArrayOfRatingOption">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="RatingOption" nillable="true" type="tns:RatingOption" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfRatingOption" nillable="true" type="tns:ArrayOfRatingOption" />
  <xs:complexType name="RatingOption">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q14="http://schemas.datacontract.org/2004/07/System.Data.Objects.DataClasses" base="q14:EntityObject">
        <xs:sequence>
          <xs:element minOccurs="0" name="ID" type="xs:int" />
          <xs:element minOccurs="0" name="Value" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="RatingOption" nillable="true" type="tns:RatingOption" />
</xs:schema>